Klassen und Objekte =================== Eine _Klasse_ enthält Funktionen / Methoden und kann im einfachsten Fall als Funktionsbibliothek genutzt werden. Jede Klasse dient auch als eine Art Datentyp. Lege ich eine Variable eines Datentyps an, der durch eine Klasse definiert ist, ist diese Variable ein _Objekt_. Ein Objekt ist die Instanz einer Klasse. bzw. Ein Objekt wird aus einer Klasse instanziiert. Objekte einer Klasse können unterschiedliche Informationen enthalten. Methoden von Objekten können sich je nach Objekt unterschiedlich verhalten, wenn sie von Informationen abhängen, die in diesem Objekt gespeichert sind. Methoden, die sich unabhängig von Informationen des Objekts immer gleich verhalten sind _statisch_. Statische Funktionen können damit auch direkt aus einer Klasse aufgerufen werden, sie brauchen ja nicht die Informationen, die zu einem Objekt gehören. Funktionen, die von Daten eines Objektes abhängen sind _nicht-statisch_ (umgangssprachlich "dynamisch"). Nicht-statische Funktionen können nur über ein Instanziiertes Objekt aufgerufen werden. indent(int, double) indent(double) -> ruft auf: indent(int, double) Umgangssprachlich: Wrapper-Funktion